Skip to content

[CI] Add Windows Blender test to nightly#21718

Merged
sarnex merged 3 commits intosyclfrom
sarnex/blender
Apr 14, 2026
Merged

[CI] Add Windows Blender test to nightly#21718
sarnex merged 3 commits intosyclfrom
sarnex/blender

Conversation

@sarnex
Copy link
Copy Markdown
Contributor

@sarnex sarnex commented Apr 9, 2026

This PR introduces a real world test into CI.

The idea is we build and run Blender using the just-built SYCL compiler (initially, only the nightly) and then run an example workflow on a (multi) GPU system.

The first version of this PR only tracks pass/fail, but in the future we could add a performance threshold to cause a fail.
First we build OIDN and Embree, both of which use SYCL and DPC++. Then we build Blender with the just-built OIDN, Embree and SYCL compiler.

The steps of this workflow (as in, what to do at a high level) were developed with help from internal Blender experts.

Run in nightly example: https://github.com/intel/llvm/actions/runs/24317863959/job/70999916822

Entire workflow takes ~10 minutes.

Comment on lines +38 to +43
run: |
echo "SCCACHE_DIR=$env:CCACHE_DIR_INPUT" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "SCCACHE_MAXSIZE=10G" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
# Wthout this we get a linking error about not being able to find sycl-devicelib-host.lib
echo "LIB=$env:LIB;$env:SYCL_DIR_INPUT\lib" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "CMAKE_EXTRA_ARGS=-DWITH_WINDOWS_SCCACHE=ON" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
Copy link
Copy Markdown
Contributor Author

@sarnex sarnex Apr 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@KornevNikita Do we need these checks to pass before merging PRs or are we allowed to ignore them?

This warning seems to suggest we aren't allowed to modify any environment variables with non-static strings, and we have to set these vars to get things to work. We already do that heavily in other workflows, it's just the checks were added after those workflows were written. Thanks

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, this is annoying, I suggest we ignore these :)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like that answer, thanks :P

@sarnex sarnex force-pushed the sarnex/blender branch 2 times, most recently from 04d162e to d8e53e1 Compare April 10, 2026 18:34
Signed-off-by: Nick Sarnie <nick.sarnie@intel.com>
@sarnex sarnex marked this pull request as ready for review April 13, 2026 14:38
@sarnex sarnex requested a review from a team as a code owner April 13, 2026 14:38
@KornevNikita
Copy link
Copy Markdown
Contributor

do we need to clean up anything afterwards?

inputs:
runner:
type: string
required: True
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
required: True
required: true

run: |
echo "SCCACHE_DIR=$env:CCACHE_DIR_INPUT" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "SCCACHE_MAXSIZE=10G" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
# Wthout this we get a linking error about not being able to find sycl-devicelib-host.lib
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# Wthout this we get a linking error about not being able to find sycl-devicelib-host.lib
# Without this we get a linking error about not being able to find sycl-devicelib-host.lib

@sarnex
Copy link
Copy Markdown
Contributor Author

sarnex commented Apr 13, 2026

On the next run in the checkout phase, it runs git clean on the entire directory, so it gets cleaned then. Example from the logs:

Cleaning the repository
  "C:\Program Files\Git\cmd\git.exe" clean -ffdx
  Removing blender-build/
  Removing blender-install/
  Removing blender-src/
  Removing embree-build/
  Removing embree-install/
  Removing embree-src/
  Removing install/
  Removing oidn-build/
  Removing oidn-install/
  Removing oidn-src/
  "C:\Program Files\Git\cmd\git.exe" reset --hard HEAD
  HEAD is now at d8e53e1 [CI] Add Windows Blender test to nightly

@KornevNikita
Copy link
Copy Markdown
Contributor

On the next run in the checkout phase, it runs git clean on the entire directory, so it gets cleaned then. Example from the logs:

Cleaning the repository
  "C:\Program Files\Git\cmd\git.exe" clean -ffdx
  Removing blender-build/
  Removing blender-install/
  Removing blender-src/
  Removing embree-build/
  Removing embree-install/
  Removing embree-src/
  Removing install/
  Removing oidn-build/
  Removing oidn-install/
  Removing oidn-src/
  "C:\Program Files\Git\cmd\git.exe" reset --hard HEAD
  HEAD is now at d8e53e1 [CI] Add Windows Blender test to nightly

Shouldn't we manually clean up the space like we do it for E2E/SYCL-CTS tests?

@sarnex
Copy link
Copy Markdown
Contributor Author

sarnex commented Apr 13, 2026

Shouldn't we manually clean up the space like we do it for E2E/SYCL-CTS tests?

Yeah that's cleaner, let me do that, thanks

Signed-off-by: Nick Sarnie <nick.sarnie@intel.com>
@sarnex
Copy link
Copy Markdown
Contributor Author

sarnex commented Apr 13, 2026

Feedback should be addressed in latest commit, thanks

Test CI run here https://github.com/intel/llvm/actions/runs/24355748290/job/71130372156

@KornevNikita
Copy link
Copy Markdown
Contributor

Feedback should be addressed in latest commit, thanks

Test CI run here https://github.com/intel/llvm/actions/runs/24355748290/job/71130372156

Thanks!

runs:
using: "composite"
steps:
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756
Copy link
Copy Markdown
Contributor

@KornevNikita KornevNikita Apr 14, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756
- uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0

Same below and below and below. Not a blocker, feel free to ignore/make a follow up. I'm updating "uses: ..." across whole repo, so it'd be nice to have this.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll add this then merge, thanks

Signed-off-by: Nick Sarnie <nick.sarnie@intel.com>
@sarnex sarnex merged commit f390758 into sycl Apr 14, 2026
14 of 15 checks passed
@sarnex sarnex deleted the sarnex/blender branch April 14, 2026 14:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants